In embedded control systems of today, developments in digital technology have enabled complex functionality. However as a direct result from the development, the need of additional system capacity provided by software and various components such as sensors, processors, display units, data buses and memory units is increasing.
Apart from implementing more functionality and interconnectivity in control systems, using less Space-Weight-and-Power, (SWaP) and a reduced number of cabling are further important drivers. Updates of embedded hardware and software during a products life span make adaptability and modularity another interesting design parameter. Other incentives include achieving cost efficient development, production and maintenance, where one possible route is to implement Commercial-Of-The-Shelf (COTS) technology instead of expensive specialized technology.
Real-time systems for safety critical control applications, wherein typically data from sensor/s are acquired, communicated and processed to provide a control signal to an actuator pose strict demands regarding bandwidth, data delivery time, redundancy, and integrity. Failure to meet one or several of these demands can in applications including “brake-by-wire” or “steer-by-wire” prove dangerous.
One such area wherein reliable high-speed real-time execution and communication of data is applicable is within avionics systems. Advances in technology during late 1960 and early 1970 made it necessary to share information between different avionics subsystems in order to reduce the number of Line Replaceable Units (LRU:s). A single sensor such as a position sensor provided information to weapon systems, display system, autopilot and navigation system.
The high level architecture of avionics systems has gone from federated meaning separate LRU:s for separate functions to Integrated Modular Avionics (IMA) meaning several functions integrated into multifunctional LRU:s. The connectivity allowing communication between different LRU:s has gone from low bandwidth point-to-point connections to higher bandwidth bus connections.
Guidance set out by Radio Technical Commission for Aeronautics (RTCA) in DO-178B and RTCA DO-254 regulates how to design and develop software and respective hardware in a safe way in order to show airworthiness, according to a criticality scale. However certification and subsequent recertification of software according to the DO-178B represents a substantial cost of developing software based avionic control systems.
In order to assist development of modern control systems for avionics a set of guidance documents such as RTCA DO-297 and Aeronautical Radio Inc. (ARINC) 651 defines general concepts for IMA systems. Further Draft 3 of Supplement 1 to ARINC Specification 653: Avionics Application Software Standard Interface, defines an Application Program Interface (API) referred to as Application Executive (APEX), implemented in Real-Time Operating Systems (RTOS) used for avionic control systems. APEX allows for space and temporal partitioning that may be used wherever multiple applications need to share a single processor and memory resource, in order to guarantee that one application cannot bring down another in the event of application failure.
Configuration of one or more ARINC 653 based RTOS for an avionics control system is typically performed by manually entering a large number of configuration data and parameters. The configuration of an IMA system and the associated applications may require a specification that is several thousand lines long. The configuration data and parameters dictate for example conditions for the space and time partitioning and data communication ports.
Apart from configuration of the one or more ARINC 653 based RTOS configuration of additional hardware components such as for example network devices and memory units and associated controllers is typically required.
Configuration of memory units and its associated controllers may for example relate to configuring one or more memory region of a memory unit to be dedicated to a particular application. Configuring the one or more memory region may for example be related defining the one or more memory region or portions thereof where each application can store and retrieve data. This is particularly important in safety critical avionic systems wherein multiple applications share the same memory unit.
However, memory configuration of today tends to be static and increase complexity related to system configuration.
Accordingly, there is a need in the art of avionics to present improvements, intended to robustly facilitate memory configuration and enhance adaptability.